/*
 * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.idea.fir.low.level.api;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.jetbrains.kotlin.test.TestRoot;
import org.junit.runner.RunWith;

/*
 * This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("fir-low-level-api")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../idea/testData/fir/lazyResolve")
public class FirLazyResolveTestGenerated extends AbstractFirLazyResolveTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/elvis")
    public static class Elvis extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("elvis.test")
        public void testElvis() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/elvis/elvis.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/import")
    public static class Import extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("import.test")
        public void testImport() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/import/import.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/inInit")
    public static class InInit extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("inInit.test")
        public void testInInit() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/inInit/inInit.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/inLocal")
    public static class InLocal extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("inLocal.test")
        public void testInLocal() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/inLocal/inLocal.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/inSecondary")
    public static class InSecondary extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("inSecondary.test")
        public void testInSecondary() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/inSecondary/inSecondary.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/secondary")
    public static class Secondary extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("secondary.test")
        public void testSecondary() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/secondary/secondary.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/simple")
    public static class Simple extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("simple.test")
        public void testSimple() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/simple/simple.test");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../idea/testData/fir/lazyResolve/simpleProperty")
    public static class SimpleProperty extends AbstractFirLazyResolveTest {
        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("simpleProperty.test")
        public void testSimpleProperty() throws Exception {
            runTest("../idea/testData/fir/lazyResolve/simpleProperty/simpleProperty.test");
        }
    }
}
